Communication Systems for Self-Driving Vehicles, and Methods of Providing Thereof

ABSTRACT

Systems and methods for providing inter-vehicle communication are disclosed. The method includes receiving, at a fleet management system, operating data from one or more self-driving vehicles via a communication network, and operating the fleet management system to determine a characteristic of a set of vehicles of one or more self-driving vehicles satisfies at least one communication condition. In response to determining the set of vehicles satisfies the at least one communication condition, the fleet management system can operate to select a stored data portion from a manager storage unit based at least on the characteristic of the set of vehicles; and transmit the data portion to the set of vehicles via the communication network. A method of providing inter-vehicle communication between one or more self-driving vehicles is also disclosed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Patent Application No. 62/627,301, filed 7 Feb. 2018, and titled “COMMUNICATION SYSTEMS FOR SELF-DRIVING VEHICLES, AND METHODS OF PROVIDING THEREOF”, the complete disclosure of which are incorporated herein by reference for all purposes.

FIELD

The described embodiments relate to communication systems for self-driving vehicles, and in particular, systems and methods of providing inter-vehicle communication for self-driving vehicles.

BACKGROUND

An automated guided vehicle (“AGV”) operates along pre-determined paths that are defined by specific infrastructure, such as a magnetic strip. AGVs cannot deviate from the pre-determined path. Self-driving vehicles, such as a self-driving transport vehicle, are not limited to a specific infrastructure and are not limited to a pre-determined path. Some self-driving vehicles can sense its environment and navigate its environment with minimal, or even possibly with no, human input.

A self-driving vehicle typically stores an electronic map of its environment and identifies its position within the environment by referring to the stored electronic map and what it has sensed from its environment. However, the stored electronic map can become outdated as the environment changes and will unlikely show traffic caused by self-driving vehicles, human-operated vehicles, and pedestrians.

Management of self-driving vehicles can, therefore, be difficult. Even with a central authority, the central authority may not always have the most updated information on the self-driving vehicles since at least some of the operating decisions are made by the self-driving vehicles. Ideally, each self-driving vehicle should constantly transfer its data to the other self-driving vehicles and the central authority without any restrictions. Unfortunately, data communication in most environments is constrained by various factors, such as infrastructure limitations, communication-related overhead (e.g., memory, bandwidth, or other resources), and data transfer latency. Effective communication between the self-driving vehicles (inter-vehicle communication) and communication between the self-driving vehicles and the central authority, can be critical.

SUMMARY

The various embodiments described herein generally relate to methods (and associated systems configured to implement the methods) for providing inter-vehicle communication. The method includes receiving, at a fleet management system, operating data from one or more self-driving vehicles via a communication network; operating the fleet management system to determine a characteristic of a set of vehicles of one or more self-driving vehicles satisfies at least one communication condition; in response to determining the set of vehicles satisfies the at least one communication condition, operating the fleet management system to select a stored data portion from a manager storage unit based at least on the characteristic of the set of vehicles; and transmitting the data portion to the set of vehicles via the communication network.

In some embodiments, the set of vehicles can include one or more vehicles.

In some embodiments, the method can further include receiving, by a vehicle of the set of vehicles, the stored data portion from the fleet management system; and determining, by the vehicle, a response based on the received stored data portion.

In some embodiments, the method can further include transmitting, by a vehicle of the set of vehicles, at least one operating data portion to the fleet management system.

In some embodiments, the method can involve operating the vehicle to determine a critical transmission period for the at least one operating data portion; and transmitting the at least one operating data portion before or during the critical transmission period.

In some embodiments, the vehicle can be operated to transmit the at least one operating data portion when the vehicle is within a proximity threshold of the fleet management system.

In some embodiments, the characteristic of the set of vehicles can include a position of each vehicle. The at least one communication condition can include a vehicular proximity threshold between any two vehicles; and the manager processor can be operable to select the stored data portion associated with a position of each vehicle and a velocity of each vehicle.

In some embodiments, the position of each vehicle can include an initial position. The initial position can be a position of that vehicle during a last data communication session between that vehicle and the fleet management system.

In some embodiments, the position of each vehicle can include an estimated position at a subsequent time. The estimated position can be determined from the initial position of that vehicle and a velocity to that vehicle at the initial position.

In some embodiments, the characteristic of the set of vehicles can include a position of each vehicle. The at least one communication condition can include an environment proximity threshold between that vehicle and one or more features of an environment of the one or more self-driving vehicles. The fleet management system can be operable to select the stored data portion associated with a position of each one or more self-driving vehicles, a velocity of each vehicle and a current mission of each self-driving vehicle.

In some embodiments, the characteristic of the set of vehicles can include a functionality of each vehicle. The at least one communication condition can include a functionality requirement. The fleet management system can be operable to select the stored data portion associated with a position of each vehicle and a current mission of each vehicle.

In some embodiments, the functionality requirement can include at least one of a manipulator type and an application installed in the vehicle memory of the first vehicle.

In some embodiments, the manipulator type can include a sensor type and an end effector type.

In some embodiments, the characteristic of the set of vehicles can include a team member identifier. The at least one communication condition can include a team identifier. The fleet management system can be operable to select the stored data portion associated with a position of each vehicle and a current mission of each vehicle.

In some embodiments, the method can involve assigning, by the fleet management system, one or more vehicles of the one or more self-driving vehicles to at least one team. Each team can be identifiable by the team identifier. Each member of the team can be identifiable by the team member identifier.

In some embodiments, the method can involve the fleet management system identifying the one or more vehicles suitable for a mission.

In some embodiments, the method can involve the fleet management system assigning the one or more vehicles to the at least one team according to a user selection.

In some embodiments, the method can involve the fleet management system assigning the one or more vehicles to the at least one team based at least on a functionality of each vehicle of the one or more vehicles.

In another broad aspect, a communication system for self-driving vehicles is described. The communication system can include a communication network; one or more self-driving vehicles; and a fleet management system. Each self-driving vehicle can include a vehicle processor and a vehicle memory. The one or more self-driving vehicles are operable to communicate with each other via the communication network. The fleet management system can include a manager storage unit, a manager processor, and a manager communication interface. The manager storage unit can store operating data received from the one or more self-driving vehicles. The manager processor is operable to determine a characteristic of a set of vehicles of the one or more self-driving vehicles satisfies at least one communication condition; and in response to determining the set of vehicles satisfies the at least one communication condition, select a stored data portion from the manager storage unit based at least on the characteristic of the set of vehicles. The manager communication can interface to transmit the stored data portion to the set of vehicles via the communication network.

In another broad aspect, a method (and associated systems configured to implement the methods) of providing inter-vehicle communication between one or more self-driving vehicles is described. Each self-driving vehicle can include a vehicle processor and a vehicle memory. The method can involve: receiving, at a first vehicle of the one or more self-driving vehicles, an operating data portion related to at least one other vehicle of the one or more self-driving vehicles; determining from the received operating data portion, by the first vehicle, that a characteristic of the at least one other vehicle satisfies at least one communication condition; selecting a stored data portion from the vehicle memory of the first vehicle based on the characteristic of the at least one other vehicle; and initiating, by the first vehicle, a transmission of the stored data portion to the at least one other vehicle.

BRIEF DESCRIPTION OF THE DRAWINGS

Several embodiments will now be described in detail with reference to the drawings, in which:

FIG. 1 is a diagram of a system of one or more self-driving vehicles, according to at least one embodiment;

FIG. 2 is a block diagram of a self-driving vehicle, according to at least one embodiment;

FIG. 3 is a block diagram of an example self-driving transport vehicle, according to at least one embodiment;

FIG. 4 is a diagram of a self-driving vehicle located at an initial position and a subsequent position within an example facility, according to at least one embodiment;

FIG. 5 is an example method of providing a communication system for self-driving vehicles, according to at least one embodiment;

FIG. 6 is a diagram of a self-driving vehicle operating within an example facility having a fleet management system, according to at least one embodiment; and

FIG. 7 is a diagram of three self-driving vehicles operating in the example facility shown in FIG. 4, according to at least one embodiment;

FIG. 8 is a diagram of two self-driving vehicles operating in the example facility shown in FIG. 4, according to at least one embodiment;

FIG. 9 is a diagram of three self-driving vehicles operating within an example facility, according to at least one embodiment; and

FIG. 10 is an example method of providing inter-vehicle communication, according to at least one embodiment.

The drawings, described below, are provided for purposes of illustration, and not of limitation, of the embodiments and features of various examples of embodiments described herein. For simplicity and clarity of illustration, elements shown in the drawings have not necessarily been drawn to scale. The dimensions of some of the elements may be exaggerated relative to other elements for clarity. It will be appreciated that for simplicity and clarity of illustration, where considered appropriate, reference numerals may be repeated among the drawings to indicate corresponding or analogous elements or steps.

DESCRIPTION OF EXAMPLE EMBODIMENTS

A self-driving vehicle can plan its path to a destination location based at least on its current location and by referring to an electronic map of its environment. The self-driving vehicle can plan its path for conducting a mission or for collecting data from the environment, such as for the purpose of updating an electronic map of its environment. The self-driving vehicle can modify its planned path during its operation. The self-driving vehicle can, in some embodiments, modify its planned path based on data collected from its environment. For example, the self-driving vehicle can modify its planned path when it detects a collision will take place if it does not vary its planned path.

The self-driving vehicle can collect information in respect of its environment during its operation, such as while it is carrying out a mission. For example, a first self-driving vehicle can receive information from a second self-driving vehicle. The received information can include information collected by the second self-driving vehicle while it was carrying out a mission

As data can be communicated between the self-driving vehicles as they are in motion, the information transmitted from the self-driving vehicles will likely be old by the time the information is received by another self-driving vehicle and/or the fleet management system. For example, at an initial time, a self-driving vehicle that is in motion can transmit its position and velocity data to another self-driving vehicle. Since the transmitting self-driving vehicle is in motion, the received position data is unlikely current and it is possible that the velocity data is no longer accurate. The self-driving vehicle that received the data can generate an estimated position of the transmitting self-driving vehicle at a subsequent time based at least on the received velocity data. The estimated position can, in some embodiments, take into account communication latency associated with the data transmission.

The type of information shared between the self-driving vehicles can vary. For example, a self-driving vehicle that is restricted to an area of a facility will be unlikely to require information about another self-driving vehicle operating outside that area. Some of the embodiments describe identifying characteristics of the self-driving vehicles to determine whether to share information between certain self-driving vehicles, and the type of information to be shared. As a result, data communication within the described systems can be, to an extent, minimized and/or delayed to avoid excessive strain on the communication resources.

Referring to FIG. 1, which shows an example communication system 100 involving one or more self-driving vehicles 110. The communication system 100 can include one or more self-driving vehicles 110, a fleet management system 120, a communication network 130, and a system storage component 140. Although only two self-driving vehicles 110 a and 110 b are shown in FIG. 1, it is possible for the communication system 100 to include fewer or more self-driving vehicles 110.

The fleet management system 120 can delegate missions to the self-driving vehicle 110. The missions can be determined by the fleet management system 120, or received at the fleet management system 120 as input data. As shown in FIG. 1, the fleet management system 120 includes a manager storage unit 122, a manager processor 124, and a manager communication interface 126.

The manager storage unit 122 can store data in respect of the operation of the communication system 100, such as data in respect of the self-driving vehicles 110 and the missions being carried out by the self-driving vehicles 110. For example, the manager storage unit 122 can store data received from the self-driving vehicles 110, data in respect of the missions delegated by the fleet management system 120, profile data in respect of each of the self-driving vehicles 110, an electronic map representing the environment in which the self-driving vehicles 110 are operating, etc. The manager storage unit 122 can also store computer programs that are executable by the manager processor 124 to facilitate communication between the fleet management system 120 and the self-driving vehicles 110.

In some embodiments, the manager storage unit 122 can store data that is more current based on the operation of the fleet management system 120, and the system storage component 140 can store data that is considered by the fleet management system 120 to unlikely be used in the immediate future. For example, the manager storage unit 122 can store operating data and vehicle profile data only for the self-driving vehicles 110 operating during a certain day, whereas the system storage component 140 can store the data for all self-driving vehicles 110 and the electronic map of the environment, which is typically infrequently changed.

In some embodiments, the manager storage unit 122 can instead be the system storage component 140, which is accessible via the communication network 130.

The manager processor 124 can control the operation of the fleet management system 120. The manager processor 124 may be any suitable processors, controllers or digital signal processors that can provide sufficient processing power depending on the configuration, purposes and requirements of the fleet management system 120. In some embodiments, the manager processor 124 can include more than one processor with each processor being configured to perform different dedicated tasks. The manager processor 124 together with the processor at the self-driving vehicles 110 contribute to the control of the communication system 100.

The manager communication interface 126 facilitates communication between the fleet management system 120 and the other components of the communication system 100, such as the self-driving vehicles 110 and the system storage component 140 via the communication network 130.

The self-driving vehicles 110 and the fleet management system 120 may communicate via the communication network 130.

The communication network 130 may be any network capable of carrying data, including the Internet, Ethernet, plain old telephone service (POTS) line, public switch telephone network (PSTN), integrated services digital network (ISDN), digital subscriber line (DSL), coaxial cable, fiber optics, satellite, mobile, wireless (e.g. Wi-Fi, WiMAX), SS7 signaling network, fixed line, local area network, wide area network, and others, including any combination of these, capable of interfacing with, and enabling communication between the fleet management system 120, the self-driving vehicles 110 and the system storage component 140.

For example, each self-driving vehicle 110 and the fleet management system 120 may be equipped with a wireless communication interface to enable wireless communications according to a Wi-Fi protocol (e.g. IEEE 802.11 protocol or similar). According to some embodiments, the communication network 130 may be a LAN, WWAN, and/or cellular network, for example, using a 3G/4G protocol.

Similar to the manager storage unit 122, the system storage component 140 can store information about the self-driving vehicles 110, including operating data, and electronic maps of the environment within which the self-driving vehicles 110 operate. Electronic maps can be stored in the system storage component 140 for subsequent retrieval by the self-driving vehicles 110. The self-driving vehicles 110 can download electronic maps from the system storage component 140 via the communication network 130, for example.

Electronic maps can be generated for the environment of the self-driving vehicles 110. For example, a CAD file representing the environment of the self-driving vehicles 110 can be imported and form the basis for an electronic map. In another example, the fleet management system 120 can generate the electronic map based on data collected by the self-driving vehicle 110.

In some embodiments, operating data can be stored in the system storage component 140, and the operating data can be retrieved by the fleet management system 120 when needed. The fleet management system 120 can download the operating data from the system storage component 140 via the communication network 130. Example operating data can include, but not limited to, a current position of the self-driving vehicle 110, a current velocity of the self-driving vehicle 110, an estimated position for the self-driving vehicle 110 at a subsequent time, an estimated completion time of a current mission of the self-driving vehicle 110, and an estimated remaining battery lifetime of the self-driving vehicle 110. In some embodiments, the operating data, or at least some of the operating data, can be stored in the manager storage unit 122. In some embodiments, the fleet-management system 120 and/or any or all of the individual the manager storage unit 122, the manager processor 124, the manager communication unit 126, can reside on one or more of the self-driving vehicles 110.

Referring now to FIG. 2, which shows a block diagram of an example self-driving vehicle 210. The self-driving vehicle 210 includes a sensor system 220, a control system 240 and a drive system 230.

The sensor system 220 can include one or more sensors for collecting data from the environment of the self-driving vehicle 110. For example, the sensor system 220 can include a LiDAR device (or other optical, sonar, or radar-based range-finding devices operating on known principles such as time-of-flight). The sensor system 220 can include optical sensors, such as video cameras and systems (e.g., stereo vision, structured light).

The control system 240 can include a processor 242, a memory (or storage unit) 244, and a communication interface 246. The control system 240 facilitates the operation of the self-driving vehicle 110. The control system 240 can store an electronic map that represents the environment of the self-driving vehicle 110, such as a facility, in the memory 244.

The processor 242 can include any suitable processors, controllers or digital signal processors that can provide sufficient processing power depending on the configuration, purposes and requirements of the self-driving vehicle 110. In some embodiments, the processor 242 can include more than one processor with each processor being configured to perform different dedicated tasks.

The memory 244 can store data to be used during the operation of the self-driving vehicle 110 and/or to facilitate the operation of the self-driving vehicle 110. Example data can include operating data in respect of its operation, the electronic map representing its environment, data in respect of one or more other self-driving vehicles 110, data in respect of its mission, etc.

In some embodiments, the memory 244 can store software applications executable by the processor 242. For example, the software application includes image processing applications that facilitate image data collection by the self-driving vehicle 110.

The communication interface 246 can include any component for facilitating communication with the other components of the communication system 100 via the communication network 130. For example, the communication interface 246 can include a wireless transceiver for communicating within a wireless communications network.

The self-driving vehicle 110 can receive a mission from the fleet management system 120 or an external system. The mission received from the fleet management system 120 can include one or more waypoints or destination locations. Based on the received mission, the control system 240 can determine a path for the self-driving vehicle 110 to navigate to the waypoint or destination location with minimal, if any, instructions from another system or the users. The control system 240 and the sensor system 220 can navigate the self-driving vehicle 110 without any additional navigational aids (e.g., navigational targets, magnetic strips, or paint/tape traces) installed in the environment.

For example, the control system 240 can generate a path for the self-driving vehicle 110 to a destination location based on the location of the self-driving vehicle 110. The control system 240 can then operate the drive system 230 to direct the self-driving vehicle 110 along the planned path. As the self-driving vehicle 110 travels along the planned path, the sensor system 220 can collect data from the environment. The collected data can assist the control system 240 to track the progress of the self-driving vehicle 110 along the planned path and also to update a location of the self-driving vehicle 110 within the environment. Example data collected by the sensor system 220 can include images of the environment.

At least with the data collected by the sensor system 220, the control system 240 can determine when an unexpected obstacle is in the planned path, and modify the planned path to navigate around the obstacle.

In some embodiments, the self-driving vehicle 110 can be equipped with one or more end effectors for facilitating interaction with objects within the environment. Example end effectors can include a gripper, a clamp, a shovel, a broom, a vacuum, a rotating spindle, or any other tools. The operation of the end effectors can be controlled by the control system 240 and, in some embodiments, with consideration of the data collected by the sensor system 220.

The self-driving vehicle 110 can operate in environments with varied terrains and/or regulated zones that require environmental qualifications. Example regulated zones can include sterile environments, and temperature-controlled environments (e.g., high or low temperature environments). The self-driving vehicle 110 can be configured to comply with the requirements of the various terrains and/or zones within its environment. For example, a self-driving vehicle 110 can be sterilized to operate in a sterile environment and subsequently only operate within the boundaries of the sterile environment in order to maintain its qualification. Self-driving vehicles 110 may undergo environmental testing or include higher rated components to meet other environmental qualifications.

FIG. 3 shows a block diagram of another example self-driving vehicle 310.

The self-driving vehicle 310 shown in FIG. 3 can act as a self-driving transport vehicle 310 for transporting objects between different locations. The self-driving transport vehicle 310 can include a cargo component for carrying loads. For example, the cargo component can be a flatbed or a bucket having sidewalls to prevent loads from falling out as the self-driving transport vehicle 310 moves. The self-driving transport vehicle 310 can include cargo securing mechanisms to secure the load and prevent the load from falling off the self-driving transport vehicle 310. Although the self-driving vehicle 310 can act as a self-driving transport vehicle, the self-driving vehicle 310 is not limited to transporting objects.

Similar to the self-driving vehicle 210 of FIG. 2, the self-driving vehicle 310 includes a drive system 330, a sensor system 320 and a control system 340.

The drive system 330 includes a motor and/or brakes connected to drive wheels 332 a and 332 b for driving the self-driving transport vehicle 310. The motor can be, but is not limited to, an electric motor, a combustion engine, or a combination/hybrid thereof. Depending on the application of the self-driving vehicle 310, the drive system 330 may also include control interfaces that can be used for controlling the drive system 330. For example, the drive system 330 may be controlled to drive the drive wheel 332 a at a different speed than the drive wheel 332 b in order to turn the self-driving transport vehicle 310. Different embodiments may use different numbers of drive wheels, such as two, three, four, etc.

A number of wheels 334 may be included. The self-driving vehicle 310 includes wheels 334 a, 334 b, 334 c, and 334 d. The wheels 234 may be wheels that are capable of allowing the self-driving transport vehicle 310 to turn, such as castors, omni-directional wheels, and mecanum wheels. In some embodiments, the self-driving transport vehicle 310 can be equipped with special tires for rugged surfaces or particular floor surfaces unique to its environment.

The sensor system 320 in FIG. 3 includes example sensors 220 a, 220 b, and 220 c. The sensors 220 a, 220 b, 220 c can optical sensors arranged to provide three-dimensional (e.g. binocular or RGB-D) imaging.

The positions of the components 334, 320, 340, 330, 332 of the self-driving transport vehicle 310 are shown for illustrative purposes and are not limited to the illustrated positions. Other configurations of the components 334, 320, 340, 330, 332 can be used depending on the application of the self-driving transport vehicle 310 and/or the environment in which the self-driving transport vehicle 310 will be used.

For illustrating some embodiments of the described methods and systems, reference will now be made to FIG. 4. FIG. 4 is a diagram 550 of an example self-driving vehicle 110 operating in a facility with an example layout 500. The facility can include any environment with a defined boundary and used for a particular purpose. For example, facilities can include, but are not limited to, manufacturing plants, warehouses, offices, hospitals, hotels, and restaurants.

In general, the self-driving vehicle 110 may travel between various points within the facility. The self-driving vehicle 110 can act as a transport vehicle for delivering and retrieving items, can act as a monitoring vehicle for the facility, and/or can act as a data collecting vehicle. In a manufacturing plant facility, the self-driving vehicle 110 can retrieve components from the storage shelves and deliver those components to the appropriate point within an assembly line or staging station.

As shown in FIG. 4, the layout 500 of the facility has a number of features that the self-driving vehicle 110 needs to navigate. Example features include shelf 510, staging stations 520 a, 520 b, and 520 c, and pallets 530 a, 530 b, 530 c, 530 d, 530 e and 530 f. Some of the features, such as the shelf 510 and the staging stations 520 a, 520 b and 520 c, are permanent objects, whereas other features, such as the pallets 530 are temporary or transient objects. Other example permanent objects can include a wall or pillars. Other example temporary objects include, but are not limited to carts, crates, machineries, and bins. During its operation, the self-driving vehicle 110 needs to navigate around these obstacles in order to carry out its mission. Unlike the permanent objects, which are unlikely to move, the temporary objects can be a challenge to the navigation of the self-driving vehicle 110.

In FIG. 4, the self-driving vehicle 110 is located generally at an initial position 502 within the layout 500. A position can be represented by a coordinate within the electronic map of the facility and a heading within the coordinate system of the electronic map. For example, if an electronic map uses an x-y coordinate system, the position can be defined by coordinates in terms of x and y, and a heading in the x-y plane. The initial position 502 can represent the position of the self-driving vehicle 110 at the time that a communication session takes place. The communication session can include any transmission of data from the self-driving vehicle 110 to another self-driving vehicle 110 and/or the fleet management system 120.

If the self-driving vehicle 110 is in motion at the initial position 502, the self-driving vehicle 110 can be travelling at an initial velocity. Velocity can be represented by a speed of the self-driving vehicle 110 and a heading with respect to the coordinate system of the electronic map, similar to the position of the self-driving vehicle 110. As shown in FIG. 4, after a period of time, the self-driving vehicle 110 will have traveled at the initial velocity to a subsequent position 502′.

It should be noted that the heading associated with the position 502, 502′ of the self-driving vehicle 110 can be different from the heading associated with the velocity of the self-driving vehicle. In some embodiments, a speed of the self-driving vehicle 110 can be limited to a range appropriate for its environment.

FIG. 5 shows an example method 600 of providing a communication system for self-driving vehicles 110.

At 610, the fleet management system 120 can receive operating data from one or more self-driving vehicles 110, via the communication network 130.

When the operating data is received by the fleet management system 120, the self-driving vehicle 110 can be carrying out a mission, or awaiting a mission to be delegated from the fleet management system 120.

In the communication system 100 disclosed herein, the self-driving vehicles 110 can determine when to transmit its operating data to the fleet management system 120, as well as the type of operating data to be transmitted. By controlling the data transmission, use of the communication resources within the environment can be minimized. For example, the self-driving vehicle 110 can be scheduled to transmit its operating data to the fleet management system 120 during known off-peak periods.

In at some embodiments, the self-driving vehicle 110 can transmit its operating data to the fleet management system 120 in response to a triggering event. For example, the triggering event can be pre-determined time intervals, completion of a mission and/or a position of the self-driving vehicle 110.

For example, the self-driving vehicle 110 can determine whether it is at a position within the facility that is within a proximity threshold of the fleet management system 120. FIG. 6 shows an example diagram 750 in which the self-driving vehicle 110 is within the proximity threshold 704 of the fleet management system 120.

FIG. 6 shows the self-driving vehicle 110 at a position 702. The layout 700 of the facility includes staging stations 720 a, 720 b, and 720 c, and pallets 730 a, 730 b, 730 c, 730 d, 730 e, and 730 f. In FIG. 6, the fleet management system 120 is shown to be positioned outside of the layout 700 of the facility. The fleet management system 120 may not be outside the facility but is just not included in the electronic map generated for the facility.

When the self-driving vehicle 110 is within the proximity threshold 704 of the fleet management system 120, as shown in FIG. 6, the self-driving vehicle 110 can then initiate a communication session for transmitting its operating data to the fleet management system 120. The proximity threshold 704 can be defined by a distance between two points (e.g., the fleet management system 120 and the self-driving vehicle), or a radius from a substantially central position of the fleet management system 120. In some embodiments, the proximity threshold 704 can be defined by a signal strength for the communication session.

In some embodiments, one or more different levels of proximity thresholds can trigger the self-driving vehicle 110 to transmit operating data to the fleet management system 120. For example, a first proximity threshold can be at 300 meters away from the fleet management system 120 and a second proximity threshold can be at 100 meters away from the fleet management system 120. The operating data transmitted at the different proximity thresholds can vary in priority as determined by the self-driving vehicle 110. For example, higher priority data can be transmitted at the first proximity threshold (e.g., when the self-driving is farther away from the fleet management system 120) and lower priority data can be transmitted at the second proximity threshold.

In some embodiments, the triggering event can be the type of operating data collected at the self-driving vehicle 110. For example, the self-driving vehicle 110 can analyze the operating data to determine a critical transmission period for transmission. The self-driving vehicle 110 can then transmit the operating data to before or during the critical transmission period.

A critical transmission period can be more imminent for operating data that is necessary for the operation of other self-driving vehicles 110 and/or the operations at the fleet management system 120. For example, a substantial change to the layout 500 of the environment can be associated with a critical transmission period with a high priority.

Other high priority operating data can include data indicating a failure or a potential failure by the self-driving vehicle 110 to completing its mission. For example, the operating data can include an estimated battery lifetime that indicates the self-driving vehicle 110 will not be able to complete the mission due to an unforeseen use of its battery, such as maneuvering around an unexpected obstacle within the environment. The estimated battery lifetime of the self-driving vehicle 110 can relate to on-board energy storage of the self-driving vehicle 110, such as batteries, ultra-capacitors, fuel cells, propane, or gasoline. When the self-driving vehicle 110 detects that the estimated battery lifetime will be insufficient, the self-driving vehicle 110 can assign a critical transmission period that is more imminent so that the self-driving vehicle 110 can transmit the estimated battery lifetime to the fleet management system 120 as soon as possible so that the fleet management system 120 can assign another self-driving vehicle 110 to complete the mission.

Lower priority operating data can include a progress of the self-driving vehicle 110, such as an estimated mission completion time.

The various triggers for the self-driving vehicle 110 are not mutually exclusive. For example, the self-driving vehicle 110 can transmit operating data to the fleet management system 120 at pre-determined time intervals and also at the completion of a mission.

At 620, the fleet management system 120 can determine that a characteristic of a set of self-driving vehicles 110 satisfies at least one communication condition. The set of self-driving vehicles 110 can include one or more self-driving vehicles 110.

The fleet management system 120 can evaluate one or more communication conditions for determining whether to transmit a data portion to the identified set of self-driving vehicles 110. For example, a communication condition can relate to a vehicular proximity threshold, an environment proximity threshold, a functionality requirement, and a team identifier.

A vehicular proximity threshold relates to a distance between two self-driving vehicles 110. Reference will now be made to FIG. 7.

FIG. 7 shows the layout 500 of FIG. 4 with three self-driving vehicles 110 a, 110 b, and 110 c operating therein. In this illustrated embodiment, self-driving vehicles 110 a, 110 b, and 110 c are at respective positions 802 a, 802 b, and 802 c.

An example vehicular proximity threshold 804 for the self-driving vehicle 110 a is shown. The illustrated vehicular proximity threshold 804 is a radius defined from a substantially central position of the self-driving vehicle 110 a. The vehicular proximity threshold 804 generally corresponds to a distance between two points (e.g., two self-driving vehicles 110) and can be represented by a radius defined from a point at the relevant self-driving vehicle 110.

Each self-driving vehicle 110 a, 110 b, 110 c can be assigned a different vehicular proximity threshold 804. The vehicular proximity threshold 804 assigned to each self-driving vehicle 110 a, 110 b, 110 c can vary with various parameters, such as a profile of the self-driving vehicle 110 (e.g., dimensions) and peripherals available at the self-driving vehicle 110 (e.g., range of sensors and end effectors, etc.).

In some embodiments, the vehicular proximity threshold 804 can have a dynamic value. For example, the vehicular proximity threshold 804 can vary with a speed of the self-driving vehicle 110. The vehicular proximity threshold 804 can be a smaller value when the self-driving vehicle 110 is travelling at a lower speed and a larger value when the self-driving vehicle 110 is travelling at a higher speed. The vehicular proximity threshold 804 can also vary if the fleet management system 120 determines that a self-driving vehicle 110 is in a crowded area. The fleet management system 120 can then adjust the vehicular proximity threshold 804 accordingly.

In some embodiments, the vehicular proximity threshold 804 can be defined based on time. For example, a vehicle proximity threshold 804 can be a maximum of five minutes. The fleet management system 120 can determine that the self-driving vehicle 110 a is travelling at a first velocity and the self-driving vehicle 110 b is travelling at a second velocity. Based on their first and second velocities of the respective self-driving vehicles 110 a, 110 b, the self-driving vehicles 110 a, 110 b are four minutes away from each other. The fleet management system 120, therefore, can determine that the self-driving vehicles 110 a and 110 b satisfy the vehicle proximity threshold 804.

As shown in FIG. 7, the self-driving vehicle 110 b at position 402 b is located within the vehicular proximity threshold 804 of the self-driving vehicle 110 a. The fleet management system 120 can determined that the self-driving vehicle 110 b satisfies the vehicular proximity threshold 804 of the self-driving vehicle 110 a. As also shown in FIG. 7, the self-driving vehicle 110 c is currently at position 802 c, which is outside the vehicular proximity threshold 804 of the self-driving vehicle 110 a. The fleet management system 120 can determine that the position 802 c of the self-driving vehicle c does not satisfy the vehicular proximity threshold 804 of the self-driving vehicle 110 a. The fleet management system 120, therefore, will not include the self-driving vehicle 110 c into the set of self-driving vehicles.

At 630, the fleet management system 120, in response to determining the set of self-driving vehicles 110 satisfies the at least one communication condition, the fleet management system 120 can select a stored data portion based at least on the characteristic of the set of self-driving vehicles 110. The fleet management system 120 can select the data portion from the manager storage unit 122 and/or the system storage component 140, depending on the type of data being requested and the type of data being stored in the respective storage elements.

Returning to the example shown in FIG. 7, when the fleet management system 120 determines that the set of self-driving vehicles 110 a and 110 b are within the vehicular proximity threshold 804, the fleet management system 120 can determine the data that should be transmitting to the set of self-driving vehicles 110 a, 110 b. For example, after determining the self-driving vehicles 110 a, 110 b satisfy the vehicular proximity threshold 804, the fleet management system 120 can select a stored data portion based at least on the positions 802 a and 802 b of the respective self-driving vehicles 110 a and 110 b. The data portion selected based on the positions 802 a, 802 b can include the position data itself (e.g., coordinates and heading), data related to the planned path of the self-driving vehicles 110 a and 110 b, data related to the velocity of the self-driving vehicles 110 a, 110 b, data related to the missions being carried out by the self-driving vehicles 110 a, 110 b, and other related data.

At 640, the fleet management system 120 can transmit the data portion to the set of self-driving vehicles 110 a, 110 b via the communication network 130.

Continuing with the example shown in FIG. 7, after selecting the stored data portion, the fleet management system 120 can transmit the stored data portion to the self-driving vehicles 110 a and 110 b via the communication network 130.

Referring now to FIG. 8, which shows the layout 500 of FIG. 7 at a subsequent time. As shown in FIG. 8, the self-driving vehicles 110 a, 110 b, 110 c are at respective positions 802 a′, 802 b′, 802 c′. In this example, the vehicular proximity threshold 904 for the self-driving vehicle 110 b is shown. The self-driving vehicle 110 c is currently not within the vehicular proximity threshold 904 of the self-driving vehicle 110 b. However, the fleet management system 120 can estimate, based on the velocities of the self-driving vehicles 110 b and 110 c and the positions 802 b′, 802 c′ of the respective self-driving vehicles 110 b and 110 c, that the self-driving vehicle 110 c will soon be within the vehicular proximity threshold 904 at a subsequent time. In some embodiments, the fleet management system 120 can determine the estimated positions of the planned path of the self-driving vehicles 110. For example, the planned path can include future positions (e.g., coordinates and heading) of the self-driving vehicle 110.

Based at least on the estimated position for the self-driving vehicle 110 c at the subsequent time, the fleet management system 120 can determine that the self-driving vehicle 110 c will satisfy the vehicular proximity threshold 904 of the self-driving vehicle 110 b and select a stored data portion based on the estimated positions of the self-driving vehicles 110 b and 110 c. The selected data portion can relate to the estimated positions of the self-driving vehicles 110 b and 110 c and the velocity of the self-driving vehicles 110 b, 110 c at the initial time, for example.

Another communication condition can include an environment proximity threshold. The environment proximity threshold can be defined between a self-driving vehicle 110 and one or more features of the environment of the self-driving vehicle 110. The features of the environment can include the permanent and temporary objects, a charging station, the fleet management system 120, and area with a reduced or enhanced network access.

FIG. 9 shows a diagram 1050 of an example layout 1000 of a facility. In the layout 1000, self-driving vehicles 110 a, 110 b, and 110 c are located at respective positions 1002 a, 1002 b, and 1002 c. The layout 1000, as shown, includes shelves 1010 a and 1010 b, pallets 1030 a, 1030 b, 1030 c, 1030 d, 1030 e, 1030 f, 1030 g, 1030 h and 1030 i, and a machine 1040.

An aisle 1006 is formed between the shelves 1010 a and 1010 b. The machine 1040 is currently operating in the aisle 1006. The machine 1040 is a temporary object and so, it is possible that its presence in the aisle 1006 was not registered into the electronic map stored at the self-driving vehicle 110 b. The self-driving vehicle 110 b's mission requires the self-driving vehicle 110 b to travel to the region 1008 of the shelf 1010 a. However, the self-driving vehicle 110 b cannot reach the region 1008 due to the unexpected obstacle (the machine 1040).

The fleet management system 120 can then determine whether another self-driving vehicle 110 is near the opposite end of the aisle 1006 to assist with completing the mission of the self-driving vehicle 110 b. As shown in FIG. 9, a general region 1004 is identified near the opposite end of the aisle 1006. The region 1004 can represent the environment proximity threshold, which can correspond to a distance surrounding one of the features of the environment. Similar to the proximity threshold 704 and the vehicular proximity threshold 804, 904, the environment proximity threshold 1004 can be defined by a radius from a substantially central position of a feature of the environment. In some embodiments, the environment proximity threshold 1004 can be defined by a time period—such as a maximum travel time for a self-driving vehicle 110 to reach the feature.

In the example shown in FIG. 9, the fleet management system 120 can determine that the self-driving vehicle 110 a is within the environment proximity threshold 1004 and can assist with the completion of the mission of the self-driving vehicle 110 b. The fleet management system 120 can also determine that although the self-driving vehicle 110 c is near the self-driving vehicle 110 b, the self-driving vehicle 110 c is not within the environment proximity threshold 1004. The fleet management system 120 can then select a data portion to be transmitted to the self-driving vehicle 110 a. For example, the fleet management system 120 can select the data portion associated with the positions 1002 a and 1002 b, the velocities of the self-driving vehicles 110 a, 110 b, and information in respect of the current mission of the self-driving vehicles 110 a and 110 b. Other data that may be relevant to the operation of the self-driving vehicles 110 a, 110 b can also be selected by the fleet management system 120.

Another example environment proximity threshold 1004 can be in respect of a charging station located within an environment of the self-driving vehicles 110 and the fleet management system 120.

For example, when the fleet management system 120 determines that the self-driving vehicle 110 is within the environment proximity threshold 1004 defined with respect to the fleet management system 120, the fleet management system 120 trigger the self-driving vehicle 110 to transmit operating data to the fleet management system 120.

Another feature of the environment relates to an area with a reduced or enhanced network access. Depending on the strength of the network access at the position of the self-driving vehicle 110, the fleet management system 120 can trigger a transmission of data to the self-driving vehicle 110. It is common for there to be varied signal strength throughout a facility, or for certain areas to be more likely to cause signal interference due to the presence of certain equipment.

For each region associated with a varied network access, an environment proximity threshold can be defined. For example, for a region with a reduced network access, the fleet management system 120 can define an environment proximity threshold that requires the self-driving vehicle 110 to be farther away from that region before a communication session is established between the self-driving vehicle 110 and the fleet management system 120. For this region, the fleet management system 120 can limit the data being transmitted to that self-driving vehicle 110 to high priority information.

In contrast, for a region with enhanced network access, the fleet management system 120 can define an environment proximity threshold that can trigger a communication session between the self-driving vehicle 110 and the fleet management system 120 even when the self-driving vehicle 110 is located at a significant distance from that region. The data being transmitted while the self-driving vehicle 110 is within the environment proximity threshold of the enhanced network region can be extensive and may not be restricted.

Continuing with FIG. 5, another communication condition can relate to the functionalities available at the self-driving vehicles 110. Each self-driving vehicle 110 can have different physical functional attributes (e.g., robotic arms with various end effectors, sensors, payload transport components, payload-carrying and conveyance mechanisms, etc.) and/or different software applications (e.g., analysis applications, image capture applications, etc.). When the fleet management system 120 determines that a functionality requirement is satisfied by the self-driving vehicle 110, the fleet management system 120 can then select the corresponding data portion for transmitting to that self-driving vehicle 110.

An example physical functional attribute can include a manipulator that can be mounted to the self-driving vehicle 110. Example manipulators can include a conveyor, an end effector or other tool, etc. An example software application can include an advanced image processing application.

Another example communication condition can be in respect of a team identifier. The fleet management system 120 can assign one or more self-driving vehicles 110 to at least one team. Each team can be identified by a team identifier and each member of the team can be identifiable by the team member identifier. Each team can be composed of self-driving vehicles 110 with similar functionalities (e.g., all self-driving vehicles 110 with the gripper end effector are assigned to one team), or can be composed of self-driving vehicles 110 with distinct functionalities so that, together, they can operate to complement each other for completing certain types of missions. For example, a team could be designated for responding to high priority missions and so, that team can be composed of self-driving vehicles 110 with advanced physical attributes and/or software applications. Another example team can be a team assigned for navigating the environment for collecting data for updating the electronic map of the environment. The self-driving vehicles 110 assigned to this team can have advanced imaging applications, for example. Another example team can include self-driving vehicles 110 assigned to service a specific region of the environment.

In some embodiments, the team members can be assigned to the teams based on user inputs.

The fleet management system 120 can compare the team member identifier of a self-driving vehicle 110 with the team identifier of the team being requested to determine whether that self-driving vehicle 110 satisfy the team requirement. If satisfied, the fleet management system 120 can select the data portion associated with a position of each self-driving vehicle 110 and a current mission of each self-driving vehicle to be transmitted to the team members.

At 640, the fleet management system 120 transmits the selected data portion to the identified set of self-driving vehicles via the communication network 130. In response to the selected data portion, the self-driving vehicles 110 can determine a response based on the received data.

Reference will now be made to FIG. 10, which shows an example method 1100 of providing inter-vehicle communication between one or more self-driving vehicles 110.

At 1110, a first self-driving vehicle 110 a can receive an operating data portion related to at least one other self-driving vehicle, such as 110 b or 110 c, via the communication network 130. The first self-driving vehicle 110 a can receive the operating data portion from the fleet management system 120 or another self-driving vehicle, such as 110 b or 110 c.

At 1020, the first self-driving vehicle 110 a can determine from the received operating data portion that a characteristic of the other self-driving vehicle, such as 110 b or 110 c, satisfies at least one communication condition discussed herein.

For example, the characteristic can be a position of the other self-driving vehicle 110 b and the communication condition can be the vehicular proximity threshold 704 between a position of the first self-driving vehicle 110 a and the position of the other self-driving vehicle 110 b. Another example communication condition can be the environment proximity threshold between the other self-driving vehicle 110 b and one or more features of its environment.

Another example characteristic of the other self-driving vehicle 110 b can be an available functionality and the communication conditions can be a functionality requirement. In another example, the characteristic can be a team member identifier and the communication condition can be a team identifier.

Another characteristic can be related to the mission assigned to the other self-driving vehicle 110 c. The mission assigned to the self-driving vehicles 110 can have different priority levels—higher priority missions can be prioritized over lower priority missions. The communication condition can be a priority threshold that defines a minimum priority required for triggering the data communication, or a comparison of the priority of the missions assigned to the two self-driving vehicles 110. When the first self-driving vehicle 110 a determines that the priority of the mission assigned to the other self-driving vehicle 110 b exceeds the priority threshold or is higher than the priority of the mission assigned to the first self-driving vehicle 110 a, the first self-driving vehicle 110 a can determine that the communication condition is satisfied and select the relevant data portion to transmit to the other self-driving vehicle 110 b. For example, the first self-driving vehicle 110 a can determine that it should yield to the other self-driving vehicle 110 b and transmit data related to its yield decision.

At 1130, the first self-driving vehicle 110 a can select a data portion from its memory 244 based on the identified characteristic of the other self-driving vehicle 110 b. The data portion selected can vary with the characteristic that satisfied the communication condition as different data may be relevant to the resulting communication session. It is possible for multiple communication conditions to be satisfied.

For example, when the vehicular proximity threshold is satisfied, the first self-driving vehicle 110 a can transmit data related to its position and velocity to the other self-driving vehicle 110 b. As the self-driving vehicles 110 a, 110 b are close in proximity, it can be useful for the other self-driving vehicle 110 b to be aware of the presence of the first self-driving vehicle 110 a as the other self-driving vehicle 110 b can adjust its planned path to avoid any collision with the first self-driving vehicle 110 a. Other data that can be transmitted by the first self-driving vehicle 110 a to the other self-driving vehicle 110 b can include the mission of the first self-driving vehicle 110 a, for example.

When the environment proximity threshold is satisfied, the first self-driving vehicle 110 a can transmit data related to its position, its velocity and its mission, for example. It is possible that the other self-driving vehicle 110 b may require the first self-driving vehicle 110 a to complete its mission, as described with reference to FIG. 9. Accordingly, data related to the mission being carried out by the first self-driving vehicle 110 a can be relevant as that mission may have higher priority than the mission assigned to the other self-driving vehicle 110 b.

When the functionality requirement is satisfied, the first self-driving vehicle 110 a can transmit data related to its position and its current mission. The other self-driving vehicle 110 b may only require the position of the first self-driving vehicle 110 a and its mission to determine whether the first self-driving vehicle 110 b can assist with another mission, for example. The velocity of the first self-driving vehicle 110 a may not be as relevant.

When the team identifier is satisfied, the first self-driving vehicle 110 a can transmit data related to its current mission.

At 1140, the first self-driving vehicle 110 a can initiate a transmission of the selected data portion to the other self-driving vehicle 110 b via the communication network 130.

The other self-driving vehicle 110 b can receive the data portion from the first self-driving vehicle 110 a and determine a response based on the received data portion.

It will be appreciated that numerous specific details are set forth in order to provide a thorough understanding of the example embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the embodiments described herein. Furthermore, this description and the drawings are not to be considered as limiting the scope of the embodiments described herein in any way, but rather as merely describing the implementation of the various embodiments described herein.

It should be noted that terms of degree such as “substantially”, “about” and “approximately” when used herein mean a reasonable amount of deviation of the modified term such that the end result is not significantly changed. These terms of degree should be construed as including a deviation of the modified term if this deviation would not negate the meaning of the term it modifies.

In addition, as used herein, the wording “and/or” is intended to represent an inclusive-or. That is, “X and/or Y” is intended to mean X or Y or both, for example. As a further example, “X, Y, and/or Z” is intended to mean X or Y or Z or any combination thereof.

It should be noted that the term “coupled” used herein indicates that two elements can be directly coupled to one another or coupled to one another through one or more intermediate elements.

The embodiments of the systems and methods described herein may be implemented in hardware or software, or a combination of both. These embodiments may be implemented in computer programs executing on programmable computers, each computer including at least one processor, a data storage system (including volatile memory or non-volatile memory or other data storage elements or a combination thereof), and at least one communication interface. For example and without limitation, the programmable computers may be a server, network appliance, embedded device, computer expansion module, a personal computer, laptop, a wireless device or any other computing device capable of being configured to carry out the methods described herein.

Each program may be implemented in a high level procedural or object oriented programming and/or scripting language, or both, to communicate with a computer system. However, the programs may be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Each such computer program may be stored on a storage media or a device (e.g. ROM, magnetic disk, optical disc) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein. Embodiments of the system may also be considered to be implemented as a non-transitory computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein.

Furthermore, the system, processes and methods of the described embodiments are capable of being distributed in a computer program product comprising a computer readable medium that bears computer usable instructions for one or more processors. The medium may be provided in various forms, including one or more diskettes, compact disks, tapes, chips, wireline transmissions, satellite transmissions, internet transmission or downloadings, magnetic and electronic storage media, digital and analog signals, and the like. The computer useable instructions may also be in various forms, including compiled and non-compiled code.

Various embodiments have been described herein by way of example only.

Various modification and variations may be made to these example embodiments without departing from the spirit and scope of the invention, which is limited only by the appended claims. 

1. A communication system for self-driving vehicles, the system comprising: a communication network; one or more self-driving vehicles, wherein each self-driving vehicle comprises a vehicle processor and a vehicle memory, and the one or more self-driving vehicles are operable to communicate with each other via the communication network; and a fleet management system comprising: a manager storage unit to store operating data received from the one or more self-driving vehicles; a manager processor operable to: determine a characteristic of a set of vehicles of the one or more self-driving vehicles satisfies at least one communication condition; and in response to determining the set of vehicles satisfies the at least one communication condition, select a stored data portion from the manager storage unit based at least on the characteristic of the set of vehicles; a manager communication interface to transmit the stored data portion to the set of vehicles via the communication network.
 2. The system of claim 1, wherein the set of vehicles comprises one or more vehicles.
 3. The system of claim 1, wherein each vehicle of the set of vehicles is operable to: receive the stored data portion from the fleet management system; and determine a response based on the received stored data portion.
 4. The system of claim 1, wherein each vehicle of the one or more self-driving vehicles is operable to transmit at least one operating data portion to the fleet management system.
 5. The system of claim 4, wherein each vehicle operates to determine a critical transmission period for the at least one operating data portion, and to transmit the at least one operating data portion before or during the critical transmission period.
 6. The system of claim 4, wherein each vehicle operates to transmit the at least one operating data portion when the vehicle is within a proximity threshold of the fleet management system.
 7. The system of claim 1, wherein: the characteristic of the set of vehicles comprises a position of each vehicle; the at least one communication condition comprises a vehicular proximity threshold between any two vehicles; and the manager processor is operable to select the stored data portion associated with a position of each vehicle and a velocity of each vehicle.
 8. (canceled)
 9. (canceled)
 10. The system of claim 1, wherein: the characteristic of the set of vehicles comprises a position of each vehicle; the at least one communication condition comprises an environment proximity threshold between that vehicle and one or more features of an environment of the one or more self-driving vehicles; and the manager processor is operable to select the stored data portion associated with a position of each vehicle, a velocity of each vehicle and a current mission of each vehicle.
 11. The system of claim 1, wherein: the characteristic of the set of vehicles comprises a functionality of each vehicle; the at least one communication condition comprises a functionality requirement; and the manager processor is operable to select the stored data portion associated with a position of each vehicle and a current mission of each vehicle.
 12. (canceled)
 13. (canceled)
 14. The system of claim 1, wherein: the characteristic of the set of vehicles comprises a team member identifier; the at least one communication condition comprises a team identifier; and the manager processor is operable to select the stored data portion associated with a position of each vehicle and a current mission of each vehicle.
 15. (canceled)
 16. (canceled)
 17. (canceled)
 18. (canceled)
 19. A method of providing inter-vehicle communication, the method comprising: receiving, at a fleet management system, operating data from one or more self-driving vehicles via a communication network; operating the fleet management system to determine a characteristic of a set of vehicles of one or more self-driving vehicles satisfies at least one communication condition; in response to determining the set of vehicles satisfies the at least one communication condition, operating the fleet management system to select a stored data portion from a manager storage unit based at least on the characteristic of the set of vehicles; and transmitting the data portion to the set of vehicles via the communication network.
 20. (canceled)
 21. The method of claim 19 comprises: receiving, by a vehicle of the set of vehicles, the stored data portion from the fleet management system; and determining, by the vehicle, a response based on the received stored data portion.
 22. The method of claim 19 comprises: transmitting, by a vehicle of the set of vehicles, at least one operating data portion to the fleet management system.
 23. The method of claim 22 comprises operating the vehicle to: determine a critical transmission period for the at least one operating data portion; and transmitting the at least one operating data portion before or during the critical transmission period.
 24. The method of claim 22 comprises operating the vehicle to: transmit the at least one operating data portion when the vehicle is within a proximity threshold of the fleet management system.
 25. The method of claim 19, wherein the characteristic of the set of vehicles comprises a position of each vehicle, and the at least one communication condition comprises a vehicular proximity threshold between any two vehicles; and the manager processor is operable to select the stored data portion associated with a position of each vehicle and a velocity of each vehicle.
 26. (canceled)
 27. (canceled)
 28. The method of claim 19, wherein the characteristic of the set of vehicles comprises a position of each vehicle, and the at least one communication condition comprises an environment proximity threshold between that vehicle and one or more features of an environment of the one or more self-driving vehicles; and the manager processor is operable to select the stored data portion associated with a position of each vehicle, a velocity of each vehicle and a current mission of each vehicle.
 29. The method of claim 19, wherein the characteristic of the set of vehicles comprises a functionality of each vehicle, and the at least one communication condition comprises a functionality requirement; and the manager processor is operable to select the stored data portion associated with a position of each vehicle and a current mission of each vehicle.
 30. (canceled)
 31. (canceled)
 32. The method of claim 19, wherein the characteristic of the set of vehicles comprises a team member identifier, and the at least one communication condition comprises a team identifier; and the manager processor is operable to select the stored data portion associated with a position of each vehicle and a current mission of each vehicle.
 33. The method of claim 32 comprises: assigning, by the fleet management system, one or more vehicles of the one or more self-driving vehicles to at least one team, each team being identifiable by the team identifier, and each member of the team being identifiable by the team member identifier. 34.-45. (canceled) 